1. Field of the Invention
The present invention relates to database management systems and, more particularly, to a system and methodology for incremental data transfer in a database management system.
2. Background Art
Computers are very powerful tools for storing and providing access to vast amounts of information. Computer databases are a common mechanism for storing information on computer systems while providing easy access to users. A typical database is an organized collection of related information stored as “records” having “fields” of information. As an example, a database of employees may have a record for each employee where each record contains fields designating specifics about the employee, such as name, home address, salary, and the like.
Between the actual physical database itself (i.e., the data actually stored on a storage device) and the users of the system, a database management system or DBMS is typically provided as a software cushion or layer. In essence, the DBMS shields the database user from knowing or even caring about the underlying hardware-level details. Typically, all requests from users for access to the data are processed by the DBMS. For example, information may be added or removed from data files, information retrieved from or updated in such files, and so forth, all without user knowledge of the underlying system implementation. In this manner, the DBMS provides users with a conceptual view of the database that is removed from the hardware level. The general construction and operation of database management systems is well known in the art. See e.g., Date, C., “An Introduction to Database Systems, Seventh Edition”, Part I (especially Chapters 1-4), Addison Wesley, 2000.
As data volumes grow through the utilization of database systems, even simple tasks, such as exporting information, can become time-consuming and unwieldy. Such exporting occurs as a result of the manner in which many applications share information, often repeatedly. Selecting all data repeatedly from a given table and sending it to an outside receiver can potentially send huge volumes of data, most of which is not necessary, because it already exists at the receiving application. This slows down processing speed and requires a lot of work at the receiver. In many scenarios, just exporting only altered information is all that's necessary. This can result in a much smaller, more manageable data set.
In order to obtain better performance in a database system environment, what is needed is the ability to lessen the workload by providing a fast, efficient approach of data transfer through incremental data transfer. The present invention provides a solution for these and other needs.